package com.xyz.service;

import com.xyz.dto.RepairMaintenanceDto;
import com.xyz.dto.RepairMaintenanceInsDto;
import com.xyz.dto.RepairWorkOrderDto;
import com.xyz.dto.SelectPageAllDto;
import com.xyz.util.dto.DataResult;
import com.xyz.util.dto.LoginInfo;

public interface RepairService {

    DataResult selectRepairAll(LoginInfo loginInfo, SelectPageAllDto selectPageAllDto) throws Exception;

    DataResult getRepairAllByEqId(LoginInfo loginInfo, SelectPageAllDto selectPageAllDto) throws Exception;

    DataResult insertRepair(LoginInfo loginInfo, RepairWorkOrderDto repairDto) throws Exception;

    DataResult getRepairById(LoginInfo loginInfo, String repId) throws Exception;

    DataResult getBasicRepairById(LoginInfo loginInfo, String repId) throws Exception;

    DataResult getBasicRepairUpdateById(LoginInfo loginInfo, String repId,String maintenEmployeeUsersId) throws Exception;

    DataResult getAnnounceRepairById(LoginInfo loginInfo, String repId, String repState) throws Exception;

    DataResult getMaintenanceRepairById(LoginInfo loginInfo, String repId, String repState) throws Exception;

    DataResult getAcceptById(LoginInfo loginInfo, String repId, String repState) throws Exception;

    DataResult receiveRepair(LoginInfo loginInfo, String repId, String receiveType, String employeeId) throws Exception;

    DataResult undeRepair(LoginInfo loginInfo, String id) throws Exception;

    DataResult refuseRepair(LoginInfo loginInfo, String id) throws Exception;

    DataResult suspendRepair(LoginInfo loginInfo, String id, String type) throws Exception;

    DataResult insertSuspendRepair(LoginInfo loginInfo, RepairMaintenanceInsDto repairMaintenanceInsDto) throws Exception;

    DataResult transferRepair(LoginInfo loginInfo, String id) throws Exception;

    DataResult completeRepair(LoginInfo loginInfo, RepairMaintenanceDto repairMaintenanceDto) throws Exception;

    DataResult accepAssignRepair(LoginInfo loginInfo, String id, String employeeId) throws Exception;

    DataResult acceptRepair(LoginInfo loginInfo, String id, String type, String acceptExplain, String acceptScore) throws Exception;

    DataResult getWorkOrderFlow(LoginInfo loginInfo, String repId) throws Exception;

    DataResult getRepairWait(LoginInfo li, int order) throws Exception;

    DataResult getRepairEmployee(LoginInfo li, int pageNum, int pageSize, int day) throws Exception;

    DataResult updateRepairWait(LoginInfo li, int order, long id, int state, long employeeId, String startTime) throws Exception;

    Long findWorker();

}
